package fei.yuzhi.com.loveflowers.fragment.firstpagefragment;

import android.util.Log;

import java.util.List;


/**
 */
public class FirstPagePresenter implements FirstPageContract.Presenter {
    //将view以及model作为属性，以便将其联系在一起
    private FirstPageContract.View view;
    private FirstPageContract.Model model;
    //通过构造函数传递参数，以便用于在view中创建presenter对象时传递view
    public FirstPagePresenter(FirstPageContract.View view){
        this.view=view;
        model=new FirstPageModle();
    }

    //实现接口中的方法
    @Override
    public void getImageFromNet() {
        //调用model中的方法，通过接口的回调，将在model中得到的数据传递过来
        model.getImage(new FirstPageModle.onGetImageUrlListener() {
            @Override
            public void loadImageUrl(String firstImageUrl,String timeLimtImageUrl,
                                     String todayImageUrl,String hotSaleImageUrl,
                                     List<String> horizontalRVImageUrl,
                                     List<String> mListViewData) {
                //得到网络加载的数据，通过判断分为两种情况
                if (firstImageUrl!=null){
                    //如果得到的数据不为空，调用view中的success方法，将数据传递到view中
                    view.onImageViewSuccess(firstImageUrl,timeLimtImageUrl,
                            todayImageUrl,hotSaleImageUrl,
                            horizontalRVImageUrl,mListViewData);
                    Log.i("tag","下载成功");
                }else{
                    //如果得到的数据为空，调用view中的fail方法
                    view.onImageViewFail("下载失败");
                    Log.i("tag","下载失败");
                }
            }
        });
    }

    //同样实现接口，其中的具体实现步骤与上个接口相同
    @Override
    public void getAutoScrollIamgeUrlFromNet() {
        model.getAutoScrollIamgeUrl(new FirstPageModle.onGetAutoScrollImageUrlListener() {
            @Override
            public void loadImageUrlList(List<String> urls,List<String> mAutoScrollData) {
                if (urls!=null){
                    view.onAutoScrollSuccess(urls,mAutoScrollData);
                    Log.i("tag","自动轮播图片下载成功");
                }else {
                    view.onAutoScrollFail("自动轮播图片下载失败");
                }
            }
        });
    }

    @Override
    public void getGridRecyclerViewIamgeUrlFromNet() {
        model.getGridImage(new FirstPageModle.onGetGirdRecyclerViewImageListener() {
            @Override
            public void loadImages(List<String> firstRvImageUrl,
                                   List<String> secondGirdRvImageUrl,
                                   List<String> threadGirdRvImageUrl,
                                   List<String> mFirstRvData,
                                   List<String> mSecondRvData) {
                if (firstRvImageUrl!=null){
                    view.onGridRecyclerViewSuccess(firstRvImageUrl,
                            secondGirdRvImageUrl,threadGirdRvImageUrl,
                            mFirstRvData,mSecondRvData);
//                    Log.i("tag","第一个网格布局的Rv下载成功");
                }else {
                    view.onGirdRecyclerViewFail("第一个网格布局的Rv下载失败");
                }
            }
        });
    }
}
